package com.xbts.system.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xbts.system.domain.CnGovernmentCloud;
import com.xbts.system.domain.vo.AreaVo;
import com.xbts.system.domain.vo.CnGovernmentCloudVO;

/**
 * 政务云Service接口
 * 
 * @author xbts
 * @date 2023-08-23
 */
public interface ICnGovernmentCloudService  extends IService<CnGovernmentCloud> {

    /**
     * 查询政务云列表
     *
     * @param cnGovernmentCloud 政务云
     * @return 政务云集合
     */
    List<CnGovernmentCloud>  selectCnGovernmentCloudList(CnGovernmentCloud cnGovernmentCloud);

    /**
     * 查询政务云
     *
     * @param govId 政务云主键
     * @return 政务云
     */
     CnGovernmentCloud selectCnGovernmentCloudByGovId(String govId);


    /**
     * 新增政务云
     *
     * @param cnGovernmentCloud 政务云
     * @return 结果
     */
     boolean insertCnGovernmentCloud(CnGovernmentCloud cnGovernmentCloud);

    /**
     * 修改政务云
     *
     * @param cnGovernmentCloud 政务云
     * @return 结果
     */
     boolean updateCnGovernmentCloud(CnGovernmentCloud cnGovernmentCloud);

    /**
     * 批量删除政务云
     *
     * @param govIds 需要删除的政务云主键集合
     * @return 结果
     */
     boolean deleteCnGovernmentCloudByGovIds(List<String> govIds);

    /**
     * 删除政务云信息
     *
     * @param govId 政务云主键
     * @return 结果
     */
     boolean deleteCnGovernmentCloudByGovId(String govId);

    /**
     * 查询热门政务云
     * @return 结果
     */
    List<CnGovernmentCloud> hostList();

    /**
     * 查询所有用户的政务云列表
     * @param searchValue
     * @return
     */
    List<CnGovernmentCloudVO> userBelongToList(String searchValue, String type, String areaId);

    List<AreaVo> areaList();
}
